package base;

/**
 * Created by IntelliJ IDEA. User: njussien Date: 30/11/12 Time: 10:38
 */
public class Implique extends OperateurBinaire {
	public Implique(Formule a, Formule b) {
		super(a, b);
	}

	@Override
	public Formule negation() {
		return (new Ou(operande.negation(), operandedroit)).negation();
	}

	@Override
	public Formule descendreNon() {
		return this;
	}

	@Override
	public String toString() {
		return "[Operande:(" + operande.toString() + " => " + operandedroit.toString() + ")] ";
	}

	@Override
	public Formule enleveEquImp() {
		return new Ou(operande.enleveEquImp().negation(), operandedroit.enleveEquImp());
	}

	public void renommer() {
		// not use for Implique
	}

	@Override
	public Formule remonterQuantificateurs() {
		return this;
	}

	@Override
	public Formule toConjonctive() {
		// already under conjonctive format
		return this;
	}

	@Override
	public Formule copy() {
		return new Implique(operande.copy(), operandedroit.copy());
	}

}
